Skip to content

[ADM 7] Restore Insert/Delete and canvas DnD - #212

Merged
artiphishle merged 8 commits into
mainfrom
issue#122/dnd
Aug 11, 2026
Merged

[ADM 7] Restore Insert/Delete and canvas DnD#212
artiphishle merged 8 commits into
mainfrom
issue#122/dnd

Conversation

@artiphishle

@artiphishle artiphishle commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • consolidate insert and move behavior on the canonical NodePlacement model, with structured validation for invalid references, root/self/descendant moves, and no-op placements
  • restore contextual ZORA Insert and Delete authoring, including blueprint defaults, selection updates, confirmation, and complete subtree binding cleanup
  • add native/web canvas drag and drop using @ankhorage/react-native-reanimated-dnd-web directly, with a 48-point handle, measured ghost, Runtime-backed targets, invalid-zone feedback, and deterministic adapter-session remounts after drop or cancellation
  • enforce that active drag geometry exists only while Edit mode, selection, and the current manifest root still own the dragged node
  • remove obsolete @ankhorage/studio/dnd* wrappers, directional tree mutation APIs, and their stale generated sequence artifact
  • update package documentation, generated Paradox output, and add a minor changeset

Why

ADM 7 needs Insert, Delete, and canvas movement to use the same manifest-driven authoring primitives as generated Ankhorage apps. The previous directional and wrapper APIs duplicated placement behavior and kept Studio farther from the normal Runtime/ZORA application model.

Impact

Studio now injects the generated app's component metadata, persists authoring operations through one canonical placement path, and composes the maintained cross-platform DnD adapter directly. Package-neutral placement and drag-session helpers remain independent of React, ZORA implementations, and host persistence.

Validation

  • bun run build
  • bun run lint:fix
  • bun run test — 496 passed, 3 conditional skips
  • bun run knip
  • bun run typecheck
  • bun run format:check
  • bun run docs
  • bun run changeset:status
  • bun run test:smoke:studio-web — 1 passed, 54 assertions
  • bun run test:e2e:generated-app-web — 7 passed, 297 assertions

Closes #122

@artiphishle artiphishle self-assigned this Aug 11, 2026
@artiphishle
artiphishle marked this pull request as ready for review August 11, 2026 01:26
@artiphishle
artiphishle merged commit cb48a6c into main Aug 11, 2026
1 check passed
@artiphishle
artiphishle deleted the issue#122/dnd branch August 11, 2026 02:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[adm 7] Restore production-quality Insert and placement-backed in-canvas DnD

1 participant